1 REM 3D-TEXT MACHINE (C) 1989 2 REM MARCO H. WESTERWEEL 3 REM HAAKSBERGEN, THE NETHERLANDS 5 POKE53280,14:POKE53281,6:POKE646,14 100 AK$="PRESS ANY KEY TO CONTINUE...":GOTO355 105 PRINT"[147][146]";:FORCO=1TO16:PRINTTAB(33)X$;CO;TAB(37);CO$(CO)" ":NEXT 110 PRINTX$:RETURN 115 PRINT"";:FORYX=1TO7:PRINTAA$(XY(YX))"[145][145][145][145][145]";:NEXT:PRINTX$:RETURN 120 PRINT"[147] SETTING UP..." 125 R$="":RR$="":G$=" ":H$=" ":L$="[157]":LL$="[157][157]":Q1$=""+LL$:Q2$=Q1$+LL$ 130 Q3$=Q2$+L$:Q4$=Q3$+L$:C$=SI$+RV$+"[223]":D$=SI$+VR$+"[223]":E$=FA$+""+G$ 135 F$=SI$+RV$+G$:T1$=E$+H$+C$+Q2$:T2$=E$+C$+E$+C$+Q2$:T3$=E$+C$+E$+G$+C$+Q3$ 140 T4$=E$+C$+Q1$:T5$=R$+E$+G$+C$+Q2$:T6$=E$+G$+C$+E$+G$+C$+Q4$ 145 T7$=E$+G$+H$+C$+Q3$:T8$=E$+C$+RR$+E$+C$+Q4$:M1$=E$+H$+F$+Q2$ 150 M2$=E$+F$+E$+F$+Q2$:M3$=E$+G$+F$+G$+Q2$:M4$=E$+F$+E$+C$+Q2$:M5$=E$+F$+Q1$ 155 M6$=E$+F$+H$+Q2$:M7$=E$+F$+R$+E$+F$+Q3$:M8$=E$+F$+G$+E$+C$+Q3$ 160 M9$=E$+H$+F$+G$+Q3$:M0$=E$+F$+E$+F$+E$+F$+Q4$:N1$=D$+E$+F$+G$+Q2$ 165 N2$=R$+M5$+L$:N3$=E$+F$+E$+F$+G$+Q3$:N4$=E$+F$+E$+G$+C$+Q3$ 170 N5$=E$+C$+E$+F$+Q2$:N6$=D$+E$+G$+F$+G$+Q3$:N7$=D$+F$+E$+F$+Q2$ 175 N8$=E$+F$+D$+F$+E$+F$+Q4$:N9$=E$+F$+RR$+E$+F$+Q4$:N0$=R$+D$+E$+F$+Q2$ 180 O1$=E$+G$+C$+R$+E$+C$+Q4$:O2$=E$+F$+D$+E$+G$+F$+Q4$:O3$=R$+E$+F$+G$+Q1$+L$ 185 O4$=D$+F$+E$+G$+C$+Q2$:O5$=E$+F$+E$+C$+E$+F$+Q4$:O6$=E$+G$+F$+E$+G$+F$+Q4$ 190 O7$=D$+F$+G$+E$+F$+Q2$:O8$=D$+E$+G$+C$+Q2$:O9$=E$+G$+F$+G$+Q3$ 195 P1$=R$+E$+G$+F$+Q2$:B1$=D$+F$+D$+F$:B2$=D$+F$+H$ 200 B3$=D$+F$+D$+F$+G$:B4$=R$+D$+F$+G$:B5$=D$+F$+R$:B6$=D$+F$+RR$+D$+F$ 205 B7$=D$+F$+G$+D$+F$+G$:B8$=D$+F$+H$+G$:B9$=D$+F$:B0$=D$+F$+R$+D$+F$+G$ 210 A$(1)=T1$+M2$+M1$:A$(2)=M2$+M2$+B1$:A$(3)=T1$+M2$+M3$:A$(4)=M4$+M1$+B2$ 215 A$(5)=T1$+M6$+M5$:A$(6)=M5$+T1$+B2$:A$(7)=T1$+M8$+M7$:A$(8)=M7$+M9$+B2$+R$ 220 A$(9)=T1$+M6$+T1$:A$(10)=M6$+T1$+B2$:A$(11)=T1$+M6$+T1$ 225 A$(12)=M6$+M5$+B5$+R$:A$(13)=T1$+M6$+M5$:A$(14)=M4$+M1$+B2$ 230 A$(15)=T2$+M2$+M1$:A$(16)=M2$+M2$+B1$:A$(17)=T1$+N1$+N2$:A$(18)=N2$+T1$+B2$ 235 A$(19)=R$+T1$+N1$+N2$+L$:A$(20)=N5$+M1$+B2$+R$:A$(21)=T3$+N3$+M3$ 240 A$(22)=M4$+N4$+B3$:A$(23)=T4$+M5$+M5$:A$(24)=M5$+T1$+B2$:A$(25)=T6$+M0$+N8$ 245 A$(26)=N9$+N9$+B6$:A$(27)=O1$+O5$+M0$:A$(28)=M0$+O2$+B0$:A$(29)=T5$+M8$+M7$ 250 A$(30)=M7$+N6$+B4$+R$:A$(31)=T1$+M2$+M1$:A$(32)=M6$+M5$+B5$+R$ 255 A$(33)=T1$+M2$+M2$:A$(34)=M1$+O4$+B4$:A$(35)=T1$+M2$+M3$:A$(36)=M4$+M2$+B1$ 260 A$(37)=T1$+M6$+T1$:A$(38)=N7$+M1$+B2$:A$(39)=T1$+N1$+R$+M5$ 265 A$(40)=M5$+M5$+B5$:A$(41)=T2$+M2$+M2$:A$(42)=M2$+M1$+B2$:A$(43)=T2$+M2$+M2$ 270 A$(44)=M2$+N1$+R$+B5$:A$(45)=T8$+N9$+N9$:A$(46)=O5$+O6$+B7$ 275 A$(47)=T2$+M2$+N1$:A$(48)=M4$+M2$+B1$:A$(49)=T2$+M2$+M1$ 280 A$(50)=N1$+R$+M5$+B5$:A$(51)=T7$+O7$+O9$:A$(52)=M6$+T7$+B8$ 285 A$(53)=T4$+M5$+M5$:A$(54)=M5$+M5$+B9$:A$(55)=T1$+N7$+P1$:A$(56)=M6$+T1$+B2$ 290 A$(57)=T1$+N7$+M1$:A$(58)=N7$+M1$+B2$:A$(59)=T2$+M2$+M1$ 295 A$(60)=N7$+RR$+M5$+B9$:A$(61)=T1$+M6$+O8$:A$(62)=N0$+M1$+B2$ 300 A$(63)=T1$+M6$+T1$:A$(64)=M2$+M1$+B2$:A$(65)=T1$+N7$+RR$+M5$ 305 A$(66)=M5$+M5$+B9$:A$(67)=T1$+M2$+M1$:A$(68)=M2$+M1$+B2$:A$(69)=T1$+M2$+M1$ 310 A$(70)=N7$+RR$+M5$+B9$:A$(71)=T1$+M2$+M2$:A$(72)=M2$+M1$+B2$ 315 A$(73)=""+L$+T5$+B4$+"":A$(74)=""+T4$+B9$:A$(75)=T4$+M5$+B9$+"" 320 A$(76)=T4$+M5$+M5$+B9$+Q1$+T4$+B9$:A$(77)=T1$+N7$+O3$+B9$+Q1$+T4$+B9$+R$ 325 A$(78)="":A$(79)=CHR$(13)+"":AX=0:FORAA=1TO71STEP2 330 AX=AX+1:AA$(AX)=A$(AA)+A$(AA+1):NEXT:FORAX=37TO43:AA$(AX)=A$(AX+36):NEXT 335 RETURN 340 POKE53280,BO:POKE53281,BA:POKE1063,160:POKE55335,BO:POKE1984,160 345 POKE56256,BO:PRINT""; 350 FORZ=1TO24:PRINTCA$" ":NEXT:RETURN 355 DIMA$(79),AA$(43),AB$(43):FA$="[154]":SI$="[156]":RV$="[146]":VR$="":GOSUB120 360 FORAB=1TO43:AB$(AB)=AA$(AB):NEXT:FA$="":SI$="":RV$="":VR$="[146]":GOSUB120 365 PRINT"[147]":BO=10:BA=0:CA$="[156]":RV$="":VR$="[146]":GOSUB340 370 PRINT""TAB(10)"[155] PRESENTING THE... ":PRINTTAB(4); 375 FORXY=1TO19:READYX:PRINTAB$(YX)"[145][145][145][145][145]";:NEXT:PRINT"" 380 PRINTTAB(4)"[155] A UTILITY FOR BASIC PROGRAMS "CHR$(13)"[156]"AK$ 385 GETGT$:IFGT$=""THEN385 390 POKE53280,0:POKE53281,0:PRINT"[147][146][158] (C) 1989";:FORXY=1TO23 395 READYX:PRINTAA$(YX)"[145][145][145][145][145]";:NEXT:PRINTCHR$(13)"[146][158]"AK$; 400 GETGT$:IFGT$=""THEN400 405 DIMCO$(16):CO$="[144][159][156][158][129][149][150][151][152][153][154][155]":FORCO=1TO16:CO$(CO)=MID$(CO$,CO,1):NEXT 410 X$="[158]":FORYX=1TO7:READXY(YX):NEXT:PRINTX$:SI=7:BO=0:BA=0:GOTO480 415 GOSUB105:GOSUB115:INPUT"BORDER COLOR";BO$:BO=VAL(BO$) 420 IFBO<1ORBO>16THEN415 425 BO=BO-1:POKE53280,BO:RETURN 430 GOSUB105:GOSUB115:INPUT"BACKGROUND COLOR";BA$:BA=VAL(BA$) 435 IFBA<1ORBA>16THEN430 440 BA=BA-1:POKE53281,BA:X$="[158]":IFBA<>0THENX$="[144]":PRINTX$ 445 RETURN 450 GOSUB105:GOSUB115:INPUT"TEXT FACE COLOR";FA$:FA=VAL(FA$) 455 IFFA<1ORFA>16THEN450 460 FA$=CO$(FA):GOSUB120:RETURN 465 GOSUB105:GOSUB115:INPUT"TEXT SIDE COLOR";SI$:SI=VAL(SI$) 470 IFSI<1ORSI>16THEN465 475 SI$=CO$(SI):GOSUB120:RETURN 480 PRINT"[147]":GOSUB115:PRINTX$" 1) CHANGE BORDER COLOR" 485 PRINT" 2) CHANGE BACKGROUND COLOR":PRINT" 3) CHANGE TEXT FACE COLOR" 490 PRINT" 4) CHANGE TEXT SIDE COLOR":PRINT" 5) CREATE 3D-TEXT FILE" 495 PRINT" 6) CREATE 3D-TEXT DATA" 500 INPUT" OPTION (1-6)...";NG$:NG=VAL(NG$):IFNG<1ORNG>6THEN480 505 IFNG=5THENPRINT"[147]":GOSUB115:GOTO525 510 IFNG=6THEN565 515 ONNGGOSUB415,430,450,465 520 GOTO480 525 INPUT"TEXT FILE NAME";TF$:TF=LEN(TF$) 530 IFTF>0THENIFTF<17THENGOSUB560:GOTO540 535 PRINT"[147]"X$:GOSUB115:GOTO525 540 PRINT"[147]"X$:INPUT" CREATE ANOTHER FILE (Y/N) ";AG$ 545 IFAG$<>"N"THENIFAG$<>"Y"THEN540 550 IFAG$="Y"THEN480 555 END 560 OPEN8,8,8,"0:"+TF$+",S,W":FORA=1TO79:PRINT#8,A$(A):NEXT:CLOSE8:RETURN 565 DIMLN(43),DD(150):X$="":BB=1:IFBA=1THENX$="[144]":BB=0 570 PX=1024:PY=55296:LN$="4445444445546654544444644524444444443222410" 575 FORNL=1TO43:LN(NL)=VAL(MID$(LN$,NL,1)):NEXT:PN$="0-.'!? ":FORPC=1TO7 580 PC$(PC)=MID$(PN$,PC,1):NEXT:UP$="[145][145][145][145][145]":F1$=CHR$(133):F3$=CHR$(134) 585 PRINT"[147]"X$;TAB(4);" F1 [146] = PRINT DATA,  F3 [146] = CANCEL"; 590 P1=1145+(RT*280)+LG:P2=55417+(RT*280)+LG:POKEP1,42:POKEP2,BB:PX=P1:PY=P2 595 GETG$:IFG$>"@"THENIFG$<"["THENG=ASC(G$)-64:GOTO635 600 IFG$>"0"THENIFG$<":"THENG=ASC(G$)-22:GOTO635 605 FORPC=1TO7:IFG$=PC$(PC)THENG=35+PC 610 NEXT:IFG<>0THEN635 615 IFG$=CHR$(13)THENG=43:GOTO645 620 IFG$=F3$THENFORD=1TO150:DD(D)=0:NEXT:D=0:LG=0:RT=0:G=0:GOTO585 625 IFG$=F1$THEN660 630 GOTO595 635 POKEPX,160:POKEPY,BA:LG=LG+LN(G) 640 IFLG<39THEND=D+1:DD(D)=G:PRINTAA$(G)UP$;:G=0:GOTO590 645 POKEPX,160:POKEPY,BA:RT=RT+1:IFRT=3THENRT=2:G=0:GOTO595 650 LG=0:LG=LG+LN(G):D=D+1:DD(D)=43:PRINTAA$(43)UP$;:IFG=43THENG=0:GOTO590 655 D=D+1:DD(D)=G:PRINTAA$(G)UP$;:G=0:GOTO590 660 PRINT"[147][146]"X$"DATA ";:FORD=1TO150:DD$=STR$(DD(D)) 665 IFDD(D)<>0THENPRINTRIGHT$(DD$,LEN(DD$)-1);:IFDD(D+1)<>0THENPRINT","; 670 NEXT:PRINTCHR$(13);TAB(6);:INPUT"[146] ANOTHER MESSAGE (Y/N)...";YN$ 675 IFYN$<>"Y"THENIFYN$<>"N"THEN660 680 IFYN$="N"THENEND 685 PX=1024:PY=55296:FORD=1TO150:DD(D)=0:NEXT:D=0:RT=0:LG=0:G=0:GOTO585 690 DATA 29,4,42,37,42,20,5,24,20,43,42,42,13,1,3,8,9,14,5 695 DATA 13,1,18,3,15,42,8,38,42,43,23,5,19,20,5,18,42,37,43,23,5,5,12 700 DATA 20,5,19,20,9,14,7